package DAO;

import java.util.List;

import model.HeadImg;
import model.Page;
import model.PassModify;
import model.User;

public interface UserDAO {
	/**
	 * �û���½
	 * 
	 * @param user
	 *            登录用户
	 * @return result // 0-用户名错误1-密码错误2-登录成功��½�ɹ�
	 */
	public int userLogin(User user);

	/**
	 * �û���½
	 * 
	 * @param user
	 *            增加用户
	 * @return result // 0-增加失败1-用户已存在2-成功
	 */
	public int addUser(User user);

	/**
	 * �û���½
	 * 
	 * @param  page 分页
	 * @return result // 0-增加失败1-用户已存在2-成功
	 */
	public List<User> getUserList(Page page);

	/**
	 * @param pModify  修改密码对象 user修改密码的用户
	 * @return result // 0-修改密码失败1-当前密码不正确2-成功
	 */
	public int PassModify(PassModify pModify, User user);

	/**
	 * @param  用户id
	 * @return result // user
	 */
	public User getUser(int id);
	
	/**
	 * @param  用户name
	 * @return result // user
	 */
	public User getUser(String name);

	/**
	 * @param user
	 *            更改信息的用户
	 * @return result // int 0-更新信息失败 1-用户名已存在 2-成功
	 */
	public int infoModify(User user);

	/**
	 * @param user  headImg
	 * @return result // 0-上传失败 1-成功��½�ɹ�
	 */
	public int changeHeadImg(User user,HeadImg headImg);
	/**
	 * 删除队员�û���½
	 * @param user 所要删除的队员对象
	 * @return result // 0-失败 1-成功��½�ɹ�
	 */
	public int deleteUser(User user);

	/**获得用户历史头像列表
	 * @param user id
	 * @return  List<HeadImg>��½�ɹ�
	 */
	public List<HeadImg> getHeadImgList(int id);

	/**修改头像
	 * @param user id headImg id
	 * @return  List<HeadImg>��½�ɹ�
	 */
	public int modifyImg(int userId, int headImgId);
}
